package com.runze.base;

import org.apache.shiro.crypto.hash.Sha256Hash;
import org.springframework.util.StringUtils;

/**
 * 用于生成密码和盐值
 * @author wrzhxy@qq.com
 * @date 2018年3月21日
 */
public class SecurityUtils {
	/**
	 * 生成盐
	 * @return salt 盐
	 */
	static public String generateSalt() {
		char[] str = "1234567890qwertyuiopasdfghjklzxcvbnm@!=%#".toCharArray();
		char[] salt = new char[32];
		for (int i = 0; i < 32; i++) {
			salt[i] = str[(int)Math.random() % str.length];
		}
		return salt.toString();
	}
	
	static public String generatedPassword(String source, String salt) {
		return StringUtils.hasText(source) ? new Sha256Hash(source + salt).toHex() : null;
	}
}
